In this advanced CSS tutorial, we will be learning two CSS properties that are often used to create a good user Interface.
CSS user Interface
CSS is all about styling the skeleton HTML and make a good user interface. And in this article, we discuss the two prominent CSS properties.
-
resize
-
outline-offset
CSS resize property
The
resize
property creates a user resizable element box and lets the user resize the box according to his/her need. resize value:
-
none
is the default value ofresize
for most of the elements, except <textarea>. -
horizontal
value specify that the element box can only be expended horizontally. -
vertical
specify that the element box can be expended vertically - both value specifies that the element box can be expended horizontally as well as vertically
Note:
When setting the
resize
value make sure that you also set the
overflow
to
auto,
else the content of the element will leak out from the box.
Example
Create a
<div>
element with resize:horizontal value.
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
.resizable{
border: 1px solid;
padding: 15px;
width: 200px;
resize: horizontal;
overflow: auto;
}
</style>
</head>
<body>
<div class="resizable">
This is a horizontal resizable element, to resize this box drag the bottom right corner of it.
</div>
</body>
</html>
Tip:
For
<textarea>
element the default
resize
value is both, if you want to create a textares which does not resize, set the resize property to none.
Example (set the text area box to none)
<!DOTYPE html>
<html>
<head>
<title></title>
<style>
.fixed{
resize: none;
background-color: lightblue;
}
</style>
</head>
<body>
<textarea>This is a resizable text area box</textarea>
<br>
<textarea class="fixed">This is a fixed text area box</textarea>
</body>
</html>
CSS Outline Offset Property
The
outline-offset
property specifies the gap or space between the outline and the border of an element. The outline looks like a border for the element but it is outside of the actual element border. And using the
outline-offset
property we can see the difference between the
border
and
outline.
The outline of an element may overlap the content or border of another property, because it is not a part of element dimensions that’s why the width and height of element does not affected by the outline.
Example
Create a <p> element with green border and red outline, and set the space between the border and outline.
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
p{
border:2px solid green;
outline: 2px solid red;
outline-offset: 4px;
}
</style>
</head>
<body>
<p>This paragraph has green border and red outline and the space between the border and outline is 4px</p>
</body>
</html>
Summary
-
The
resize
property all the user to resize the element box - Textarea element default resize value is both.
-
The
outline
property resides outside of the element borders. -
The
outline-offset
property set space between theborder
andoutline
of the element.